#ifndef VERTEX_H
#define VERTEX_H
#include "../EngineMath/3D/Vector3D.h"
#include "../EngineMath/3D/Vector2D.h"
class Vertex
{
	Vector3D pos;
	Vector3D norm;
	Vector2D tex;
	Vector3D binorm;
	Vector3D tangent;



	unsigned vertexId;


public:
	Vertex& operator = (Vertex & v)
	{
		pos = v.pos;
		norm    =  v.norm;
		tex     =  v.tex;
		binorm  =  v.binorm;
		tangent =  v.tangent;

		return *this;
	}

	unsigned getId() const { return vertexId;}
	void setId(unsigned id) { vertexId = id;}

	Vector3D &getPos() { return pos;}
	void     setPos(const Vector3D & vPos) { pos = vPos;}

	Vector3D &getNormal()    { return norm;}
	void     setNormal(const Vector3D & vNorm) { norm = vNorm;}

	Vector3D &getBinormal()  { return binorm;}
	void     setBinormal(const Vector3D & vB) { binorm = vB;}

	Vector3D &getTangent()   { return tangent;}
	void     setTangent(const Vector3D & vT) { tangent = vT;}

	Vector2D &getTexCoords()  { return tex;}
	void     setTexCoords(const Vector2D & vT) { tex = vT;}


	
};
#endif